<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class creserva extends CI_Controller
{
    function __construct() {
        parent::__construct();
    }
    public function index(){
        
        //$this->Login->validarSesion();
        $data_header['titulo']="Sistema web";
        
        $this->load->view('includes/header.php',$data_header);
        $this->load->view('viewReserva');
        $this->load->view('includes/footer.php');
    }
    
    public function traerReservaciones()
    {
         $this->load->model('reserva','',TRUE);     
         $var = $this->reserva->reservaMes($_POST['anio'],$_POST['mes'] + 1);         
         echo json_encode($var);
    }
    public function traerCliente(){
        $this->load->model('cliente','', TRUE);
        $var = $this->cliente->getCliente($_POST['id']);
        echo json_encode($var);
    }
    
    
    public function modificar($id){   
        $this->Login->validarSesion();
        
        $data_header['titulo']="Sistema web";
        $this->load->view('includes/header',$data_header);
        if($this->input->post())
        {
            $this->load->model('reserva','',TRUE);
            $this->reserva->modificar($id,$_POST['id_cliente'],$_POST['senia']);   
        }
        else
        {
            $this->load->model('habitacion', '', TRUE);
            $datos['tipo'] = $this->habitacion->listarTodos();
            
            $this->load->model('tipo_habitacion', '', TRUE);
            $datos['tipohab'] = $this->tipo_habitacion->listarTodos();
        
            $this->load->model('procedencia', '', TRUE);
            $datos['proceden'] = $this->procedencia->listarTodos();
            
            $this->load->model('reserva','',TRUE);
            $datos['reserva'] = $this->reserva->getReserva($id);
            $datos['operacion'] = "modificar";
            $datos['cabecera']= "Modificando una Reserva";
            $this->load->view('viewReservaNueva',$datos);
        }       
        $this->load->view('includes/footer');
    }
    
    
        public function anular($id){   
        $this->Login->validarSesion();
        
        $data_header['titulo']="Sistema web - Anulación de reserva";
        $this->load->view('includes/header',$data_header);
        if($this->input->post())
        {
            $this->load->model('reserva','',TRUE);
            $this->reserva->anular($_POST['id_reserva'],$_POST['id_cliente'],$_POST['senia']);   
        }
        else
        {
            $this->load->model('habitacion', '', TRUE);
            $datos['tipo'] = $this->habitacion->listarTodos();
            
            $this->load->model('tipo_habitacion', '', TRUE);
            $datos['tipohab'] = $this->tipo_habitacion->listarTodos();
        
            $this->load->model('procedencia', '', TRUE);
            $datos['proceden'] = $this->procedencia->listarTodos();
            
            $this->load->model('reserva','',TRUE);
            $datos['reserva'] = $this->reserva->getReserva($id);
            $datos['operacion'] = "anular";
            $datos['cabecera']= "Anulando una Reserva";
            $this->load->view('viewReservaNueva',$datos);
        }       
        $this->load->view('includes/footer');
    }
    
    public function traerPrueba()
    {
         $this->load->model('reserva','',TRUE);     
         $var = $this->reserva->reservaPrueba($_POST['anio'],$_POST['mes'] + 1);         
         echo json_encode($var);
    }
    
    public function nuevo($dia,$mes,$anio,$habitacion)
    {
        $this->Login->validarSesion();
      
        if($this->input->post())
        {
          $this->load->model('reserva','',TRUE);
            $this->reserva->nuevo($dia,$mes,$anio, $habitacion,$_POST['id_cliente']);   
           
            
        }
        else {
        $this->load->model('tipo_habitacion', '', TRUE);
        $datos['tipohab'] = $this->tipo_habitacion->listarTodos();
        
        $this->load->model('procedencia', '', TRUE);
        $datos['proceden'] = $this->procedencia->listarTodos();
        
        $this->load->model('habitacion', '', TRUE);
        $this->load->model('procedencia','',TRUE);
        $datos['operacion'] = "nuevo";
        $datos['tipo'] = $this->habitacion->listarTodos();
        $datos['habitacion']= $habitacion;
       
        
        $datos['anio'] = $anio;
        $datos['mes']= $mes;
        $datos['dia']= $dia;
        $datos['cabecera']= "Alta de Reserva";
        $datos['listas'] = array();
        $datos['tipo_procedencia'] = $this->procedencia->listarTodos();
        $data_header['titulo']="HOSTAL BAUDI-Alta de Reserva";
        $this->load->view('includes/header.php',$data_header);
        $this->load->view('viewBuscarCliente',$datos);
        $this->load->view('viewReservaNueva', $datos);        
        $this->load->view('includes/footer.php');
        }

    }
    
    public function buscarReserva($id){
        $this->Login->validarSesion();
        
        $datos['cabecera']= "Estadía";
        $data['titulo']= "HOSTAL BAUDI-Consulta de Estadia";
        $this->load->model('reserva','',TRUE);
        $datos['reserva'] = $this->reserva->getReserva($id);
        
        $this->load->model('consumo','',TRUE);        
        $datos['gastos'] = $this->consumo->listarTodos(0,$id);
        $this->load->view('includes/header',$data);
        $this->load->view('viewReservaPago',$datos);
        $this->load->view('includes/footer');
        
    }
    
    public function grabarPago($idreserva, $montor,$fecha,$montoc,$montot,$montose,$montol){
        $this->Login->validarSesion();
        
        $data_header['titulo']="Sistema web";
        $this->load->view('includes/header',$data_header);

         $this->load->model('reserva','',TRUE);
         $this->reserva->grabarPagos($idreserva, $montor,$fecha,$montoc,$montot,$montose,$montol);   
 
        $this->load->view('includes/footer');
        
    }
    
    public function consultar(){
        $this->Login->validarSesion();
        $this->load->model('reserva','',TRUE);  
        $datos['listas'] = $this->reserva->listarTodos();
        $datos['cabecera']= "Historial de Reservas";
        $data['titulo']= "HOSTAL BAUDI-Historial de Reservas";
        $this->load->view('includes/header',$data);
        $this->load->view('viewHistorialReservas',$datos);
        $this->load->view('includes/footer');
        
    }
    
    function buscarAjax(){
          $this->load->model('reserva','',TRUE);      
          $mostrar= 't_detalle_reserva_servicio.id,t_servicios.nombre as descripcion,t_habitaciones.nombre as habitacion, CONCAT(t_clientes.apellido," ",t_clientes.nombre) as pasajero,t_tipo_servicio.nombre as tipos,t_detalle_reserva_servicio.precio,t_detalle_reserva_servicio.fecha,t_detalle_reserva_servicio.observacion';
          $pagina = $_POST['pagina'];
          $limite = $_POST['limite'];
          $principio = ($pagina -1)* $limite;
          $var = $this->consumo->buscarConsumos($mostrar,$_POST['todos'],$_POST['habitacion'],$_POST['pasajero'],$_POST['desde'],$_POST['hasta'],$limite,$principio);
         
         echo json_encode($var);
        
    }
    
    function buscarAjaxHist(){
          $this->load->model('Reserva','',TRUE);      
          $mostrar= 't_reservas.id ,t_reservas.id as id_reserva , t_habitaciones.nombre AS habitacion,t_reservas.id_habitacion, t_reservas.fecha_llegada,t_reservas.hora_llegada, t_reservas.fecha_salida,t_reservas.hora_salida,t_reservas.estado,t_reservas.id_cliente,
                    DAY( t_reservas.fecha_llegada ) AS dia_desde, DAY( t_reservas.fecha_salida ) AS dia_hasta,t_reservas.id_tipo_habitacion,t_reservas.senia, t_reservas.fecha_senia,t_reservas.deposito,
                    CONCAT(t_clientes.apellido," ",t_clientes.nombre) as pasajero , DATEDIFF( t_reservas.fecha_salida, t_reservas.fecha_llegada) AS dias,t_reservas.sin_cargo,t_reservas.monto,t_reservas.monto * DATEDIFF( t_reservas.fecha_salida,t_reservas.fecha_llegada ) AS total';
          $pagina = $_POST['pagina'];
          $limite = $_POST['limite'];
          $principio = ($pagina -1)* $limite;
          $var = $this->reserva->getHistoriaReservas($mostrar,$_POST['todos'],$_POST['documento'],$_POST['habitacion'],$_POST['pasajero'],$_POST['desde'],$_POST['hasta'],$limite,$principio);
         
         echo json_encode($var);
        
    }
    
    
    function cantHistReservas(){
          $this->load->model('reserva','',TRUE);      
          $mostrar= 't_reservas.id ,t_reservas.id as id_reserva , t_habitaciones.nombre AS habitacion,t_reservas.id_habitacion, t_reservas.fecha_llegada,t_reservas.hora_llegada, t_reservas.fecha_salida,t_reservas.hora_salida,t_reservas.estado,t_reservas.id_cliente,t_reservas.cant_adultos,t_reservas.cant_menores,t_reservas.id_procedencia,
                    DAY( t_reservas.fecha_llegada ) AS dia_desde, DAY( t_reservas.fecha_salida ) AS dia_hasta,t_reservas.id_tipo_habitacion,t_reservas.senia, t_reservas.fecha_senia,t_reservas.deposito,
                    t_clientes.* , DATEDIFF( t_reservas.fecha_salida, t_reservas.fecha_llegada) AS dias,t_reservas.sin_cargo,t_reservas.monto,t_reservas.monto * DATEDIFF( t_reservas.fecha_salida,t_reservas.fecha_llegada ) AS total ';
          $limite = $_POST['limite'];
          $principio = 0;
          $var = $this->reserva->getHistoriaReservas($mostrar,1,"","","","","",5,0);
          
          
         echo sizeof($var);
        
    }
    
    public function validarRangoFecha()
    {
       if(strcmp($_POST["fecha_llegada"], $_POST["fecha_salida"]) == 0 || strcmp($_POST["fecha_llegada"], "0000-00-00") == 0 || strcmp($_POST["fecha_salida"], "0000-00-00") == 0) 
       {
           $respuesta = "0";
       }
       else{
           $llegada = strtotime($_POST["fecha_llegada"]);
            $salida = strtotime($_POST["fecha_salida"]);
            $respuesta = '0';

            if($llegada < $salida)
            {
            $this->load->model('Reserva');
            $resultado = $this->Reserva->validarReserva($_POST["reserva"], $_POST["fecha_llegada"], $_POST["fecha_salida"], $_POST["habitacion"]);
            $cantidad = sizeof($resultado);
            if($cantidad == 0 )
                $respuesta = '1';
            else            
                $respuesta = '0';
            }
            else 
                $respuesta = '0';
       }
        
        echo $respuesta;
    }
    
}
?>
